package com.chinairi.mall.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chinairi.mall.model.CancelOrder;

import java.util.List;

/**
 * ICancelOrderService 撤销订单
 * @author hmh
 * @date 2020/11/26
 */
public interface ICancelOrderService extends IService<CancelOrder> {

    /**
     * 新增撤销订单
     * @param cancelOrder 撤销订单model
     */
    void addCancelOrder(CancelOrder cancelOrder);

    /**
     * 确认撤销订单
     * @param cancelOrder cancelOrder
     */
    void confirmCancelOrder(CancelOrder cancelOrder);

    /**
     * 拒绝撤销订单
     * @param cancelOrder cancelOrder
     */
    void refuseCancelOrder(CancelOrder cancelOrder);

    /**
     * 根据接收人id获得所有撤销订单信息
     * @param receiverId 接受人id
     * @return 所有接收的撤销订单信息
     */
    List<CancelOrder> getListByReceiverID(String receiverId);

    /**
     * 获得所有待确认的撤销订单信息
     * @param receiverId 接收者id
     * @return 待确认订单列表
     */
    List<CancelOrder> getListPendingOrderByReceiverId(String receiverId);

    /**
     * 根据创建者id获得创建的所有的撤销订单信息
     * @param createrId 创建者id
     * @return 所有创建的撤销订单信息
     */
    List<CancelOrder> getListByCreaterID(String createrId);

    /**
     * 根据接收者id查看所有的撤销订单提醒
     * @param receiverId 接收者id
     * @return 所有的撤销订单提醒
     */
    List<CancelOrder> getRemindByReceiverId(String receiverId);



}
